package com.eshop.modules.order.vo;

import com.eshop.modules.order.service.dto.ProductDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;

public class OrderCartInfoVo implements Serializable
{
    private static final long serialVersionUID = 1L;
    @ApiModelProperty("订单ID")
    private String orderId;
    @ApiModelProperty("商品ID")
    private Long productId;
    @ApiModelProperty("购物车数量")
    private Integer cartNum;
    @ApiModelProperty("拼团产品ID")
    private Long combinationId;
    @ApiModelProperty("秒杀产品ID")
    private Long seckillId;
    @ApiModelProperty("砍价产品ID")
    private Long bargainId;
    @ApiModelProperty("产品信息")
    private ProductDto productInfo;
    
    OrderCartInfoVo(final String orderId, final Long productId, final Integer cartNum, final Long combinationId, final Long seckillId, final Long bargainId, final ProductDto productInfo) {
        this.orderId = orderId;
        this.productId = productId;
        this.cartNum = cartNum;
        this.combinationId = combinationId;
        this.seckillId = seckillId;
        this.bargainId = bargainId;
        this.productInfo = productInfo;
    }
    
    public static OrderCartInfoVoBuilder builder() {
        return new OrderCartInfoVoBuilder();
    }
    
    public String getOrderId() {
        return this.orderId;
    }
    
    public Long getProductId() {
        return this.productId;
    }
    
    public Integer getCartNum() {
        return this.cartNum;
    }
    
    public Long getCombinationId() {
        return this.combinationId;
    }
    
    public Long getSeckillId() {
        return this.seckillId;
    }
    
    public Long getBargainId() {
        return this.bargainId;
    }
    
    public ProductDto getProductInfo() {
        return this.productInfo;
    }
    
    public void setOrderId(final String orderId) {
        this.orderId = orderId;
    }
    
    public void setProductId(final Long productId) {
        this.productId = productId;
    }
    
    public void setCartNum(final Integer cartNum) {
        this.cartNum = cartNum;
    }
    
    public void setCombinationId(final Long combinationId) {
        this.combinationId = combinationId;
    }
    
    public void setSeckillId(final Long seckillId) {
        this.seckillId = seckillId;
    }
    
    public void setBargainId(final Long bargainId) {
        this.bargainId = bargainId;
    }
    
    public void setProductInfo(final ProductDto productInfo) {
        this.productInfo = productInfo;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof OrderCartInfoVo)) {
            return false;
        }
        final OrderCartInfoVo other = (OrderCartInfoVo)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$productId = this.getProductId();
        final Object other$productId = other.getProductId();
        Label_0065: {
            if (this$productId == null) {
                if (other$productId == null) {
                    break Label_0065;
                }
            }
            else if (this$productId.equals(other$productId)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$cartNum = this.getCartNum();
        final Object other$cartNum = other.getCartNum();
        Label_0102: {
            if (this$cartNum == null) {
                if (other$cartNum == null) {
                    break Label_0102;
                }
            }
            else if (this$cartNum.equals(other$cartNum)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$combinationId = this.getCombinationId();
        final Object other$combinationId = other.getCombinationId();
        Label_0139: {
            if (this$combinationId == null) {
                if (other$combinationId == null) {
                    break Label_0139;
                }
            }
            else if (this$combinationId.equals(other$combinationId)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$seckillId = this.getSeckillId();
        final Object other$seckillId = other.getSeckillId();
        Label_0176: {
            if (this$seckillId == null) {
                if (other$seckillId == null) {
                    break Label_0176;
                }
            }
            else if (this$seckillId.equals(other$seckillId)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$bargainId = this.getBargainId();
        final Object other$bargainId = other.getBargainId();
        Label_0213: {
            if (this$bargainId == null) {
                if (other$bargainId == null) {
                    break Label_0213;
                }
            }
            else if (this$bargainId.equals(other$bargainId)) {
                break Label_0213;
            }
            return false;
        }
        final Object this$orderId = this.getOrderId();
        final Object other$orderId = other.getOrderId();
        Label_0250: {
            if (this$orderId == null) {
                if (other$orderId == null) {
                    break Label_0250;
                }
            }
            else if (this$orderId.equals(other$orderId)) {
                break Label_0250;
            }
            return false;
        }
        final Object this$productInfo = this.getProductInfo();
        final Object other$productInfo = other.getProductInfo();
        if (this$productInfo == null) {
            if (other$productInfo == null) {
                return true;
            }
        }
        else if (this$productInfo.equals(other$productInfo)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof OrderCartInfoVo;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $productId = this.getProductId();
        result = result * 59 + (($productId == null) ? 43 : $productId.hashCode());
        final Object $cartNum = this.getCartNum();
        result = result * 59 + (($cartNum == null) ? 43 : $cartNum.hashCode());
        final Object $combinationId = this.getCombinationId();
        result = result * 59 + (($combinationId == null) ? 43 : $combinationId.hashCode());
        final Object $seckillId = this.getSeckillId();
        result = result * 59 + (($seckillId == null) ? 43 : $seckillId.hashCode());
        final Object $bargainId = this.getBargainId();
        result = result * 59 + (($bargainId == null) ? 43 : $bargainId.hashCode());
        final Object $orderId = this.getOrderId();
        result = result * 59 + (($orderId == null) ? 43 : $orderId.hashCode());
        final Object $productInfo = this.getProductInfo();
        result = result * 59 + (($productInfo == null) ? 43 : $productInfo.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "OrderCartInfoVo(orderId=" + this.getOrderId() + ", productId=" + this.getProductId() + ", cartNum=" + this.getCartNum() + ", combinationId=" + this.getCombinationId() + ", seckillId=" + this.getSeckillId() + ", bargainId=" + this.getBargainId() + ", productInfo=" + this.getProductInfo() + ")";
    }
    
    public static class OrderCartInfoVoBuilder
    {
        private String orderId;
        private Long productId;
        private Integer cartNum;
        private Long combinationId;
        private Long seckillId;
        private Long bargainId;
        private ProductDto productInfo;
        
        OrderCartInfoVoBuilder() {
        }
        
        public OrderCartInfoVoBuilder orderId(final String orderId) {
            this.orderId = orderId;
            return this;
        }
        
        public OrderCartInfoVoBuilder productId(final Long productId) {
            this.productId = productId;
            return this;
        }
        
        public OrderCartInfoVoBuilder cartNum(final Integer cartNum) {
            this.cartNum = cartNum;
            return this;
        }
        
        public OrderCartInfoVoBuilder combinationId(final Long combinationId) {
            this.combinationId = combinationId;
            return this;
        }
        
        public OrderCartInfoVoBuilder seckillId(final Long seckillId) {
            this.seckillId = seckillId;
            return this;
        }
        
        public OrderCartInfoVoBuilder bargainId(final Long bargainId) {
            this.bargainId = bargainId;
            return this;
        }
        
        public OrderCartInfoVoBuilder productInfo(final ProductDto productInfo) {
            this.productInfo = productInfo;
            return this;
        }
        
        public OrderCartInfoVo build() {
            return new OrderCartInfoVo(this.orderId, this.productId, this.cartNum, this.combinationId, this.seckillId, this.bargainId, this.productInfo);
        }
        
        @Override
        public String toString() {
            return "OrderCartInfoVo.OrderCartInfoVoBuilder(orderId=" + this.orderId + ", productId=" + this.productId + ", cartNum=" + this.cartNum + ", combinationId=" + this.combinationId + ", seckillId=" + this.seckillId + ", bargainId=" + this.bargainId + ", productInfo=" + this.productInfo + ")";
        }
    }
}
